package com.qijian.production.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;
import com.qijian.common.enums.ApprovalDescriptionEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.Date;

/**
 * 非标准定额申请单对象 main_point_order
 *
 * @author qijian
 * @date 2023-12-06
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("main_point_order")
public class PointOrder extends BaseEntity{
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "${column.columnComment}")
    private Long id;


    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "申请人id")
    private Long applyId;

    @Excel(name = "申请人")
    @ApiModelProperty(value = "申请人名")
    private String applyName;


    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "申请人部门id")
    private Long applyDeptId;

    @Excel(name = "部门")
    @ApiModelProperty(value = "申请人部门名")
    private String applyDeptName;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "申请日期")
    private Date applyDate;

    @Excel(name = "申请编号")
    @ApiModelProperty(value = "申请编号")
    private String number;

    @Excel(name = "派工属性")
    @ApiModelProperty(value = "派工属性")
    private String dispatchAttr;

    @Excel(name = "属性说明")
    @ApiModelProperty(value = "属性说明")
    private String remark;

    //@Excel(name = "审核者")
    @ApiModelProperty(value = "审核者")
    private String approvalBy;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "审核时间")
    private Date approvalTime;

    /** 审核状态 */
    //@Excel(name = "审核状态",dictType = "approval_status")
    @ApiModelProperty(value = "审核状态")
    private ApprovalDescriptionEnum approvalStatus;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    //@Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "审核时间")
    private Date submissionTime;


}
